<?php
class TercerosController extends AppController{

    var $name = 'Terceros';
    var $appModule = 'Maestros';

    function buscar($q = null){
        $result = '';
        //estableciendo parámetros de búsqueda
        if(!empty($this->params['url']['q'])){
            $q = $this->params['url']['q'];
        } elseif(!empty($this->params['form']['q'])) {
            $q = $this->params['form']['q'];
        } elseif(!empty($this->data['Tercero']['q'])){
            $q = $this->data['Tercero']['q'];
        }

        if(empty($q)){
            $result = array('no ha establecido los parámetros correctamente');
        } else {
            $q = strtoupper($q);
			$this->Tercero->Behaviors->attach('Containable');
            $result = $this->Tercero->find('all',array(
                'conditions'=>array(
                    'Tercero.centro_dist_id'=>$this->centroDistId(),
                    'OR'=>array(
                        'Tercero.id'=>(int)$q,
                        'Tercero.razon_social LIKE'=>"$q%",
                        'Tercero.razon_social SIMILAR TO'=>"%( $q|,$q)%",
                        "(Tercero.apellido_paterno || ' ' || Tercero.apellido_materno || ' ' || Tercero.nombres) LIKE"=>"$q%",
                        "(Tercero.apellido_paterno || ' ' || Tercero.nombres) LIKE"=>"$q%",
                        "(Tercero.nombres || ' ' || Tercero.apellido_paterno || ' ' || Tercero.apellido_materno) LIKE"=>"$q%",
                        'Tercero.numero_documento LIKE'=>"$q%",
                        'Tercero.ruc LIKE'=>"$q%"
                    )
                ),
                'fields'=>array(
                    'Tercero.id',
                    'Tercero.empresa_id',
                    'Tercero.centro_dist_id',
                    'Tercero.razon_social',
                    'Tercero.apellido_paterno',
                    'Tercero.apellido_materno',
                    'Tercero.nombres',
                    'Tercero.tipo_documento_id',
                    'Tercero.numero_documento',
                    'Tercero.ruc',
                ),
                'limit'=>100,
				'contain'=>array(
					'TipoDocumento'=>array(
						'descripcion',
						'simbolo'
					)
				)
            ));
        }

        //para peticiones de autocompletado
        $res = array();
        if(!empty($this->params['url']['autocomplete']) || !empty($this->params['form']['autocomplete'])){
            foreach($result as $value){
                $valor = '-- SIN REFERENCIA --';
                if(empty($value['Tercero']['razon_social'])){
                    if(!empty($value['Tercero']['apellido_paterno'])){
                        //$valor = $value['Tercero']['apellido_paterno']. ' ' .$value['Tercero']['apellido_materno']. ', ' . $value['Tercero']['nombres'];
                        $valor = $value['Tercero']['apellido_paterno']. ', ' . $value['Tercero']['nombres'];
                    }
                } else {
                    $valor = $value['Tercero']['razon_social'];
                }
                $ruc = empty($value['Tercero']['ruc'])?'sin ruc':$value['Tercero']['ruc'];
                $res[] = array('value'=>$value['Tercero']['id'], 'display'=>'<span style="color:gray;font-size:.9em">'. $ruc .'</span><div style="float:right;font-size:.8em" title="'. $valor .'">'. $this->neat_trim($valor, 24) .'</div>');
            }
            $result = $res;
        }

        if ($this->RequestHandler->isAjax()){
            $this->_ajaxify($result);
        } else {
            return $result;
        }
    }
}
?>